Second Life Wiki:Merge/Second Life Through The Ages
Planning Reportedly, this all started when Philip Linden was in the shower. He envisioned this vast green, continuous landscape, distributed across multiple servers... and went on to build it. Andrew Linden has said in the forums that Linden Lab (LL) was started as a hardware company geared towards the research and development of haptics. They needed a virtual world to go with their hardware, and so they started building what became Linden World and, later, Second Life. This hardware is also said to still exist, with the nickname "The Rig", sitting in a box somewhere in Linden Lab offices; it has been stated that the code used to interface with "The Rig" was most likely removed recently in 2005 around SL 1.6. 3D Engine Apparently, LL didn't create the core 3D engine but, instead, RealityPrime did: * Developed core 3D engine for Linden Lab for their fully-modifiable on-line streaming 3D world/game called Second Life. ** Developed real-time "global illumination" (simplified radiosity) with thousands of movable lights and shadows, optimized visibility culling, and advanced hardware rendering optimizations. ** Developed fully procedural object creation and editing, optimized character animation, and other special effects. The Grid The grid is the collection of servers that run the simulators that make up Second Life's world. Physically, the grid is at a colocation hosted by 365 Main (which is the actual street address of the building). File System Mark Linden, 10/9/05: "Filesystems: Back to ext3 At work, we’ve now completed the grand cycle of filesystems. When I started at Linden Lab 3.5 years ago, Linden Lab was using ext2 by default. One of the first things I did was convert our few servers (only 10!) to ext3. As we grew, we switched to ReiserFS, which served us well for a while, but we ran into some problems with it (filesystem corruption after power failure and high CPU utilization on file delete). These issues caused us to then evaluate XFS. Our initial evaluation appeared positive, so we changed our default filesystem again. XFS proved to have better raw performance than ReiserFS and lower CPU utilitization (which was nice); unfortunately, it suffered from the same filesystem corruption issues after power failure that ReiserFS did. In addition, it appeared to be not well maintained on 64 bit systems. Since we have started to deploy AMD64 systems, XFS was no longer a viable option. So we’re back to using ext3. It’s not so bad, actually; so far it is proving to be a stable, reliable filesystem with reasonable performance." SL is NOT A Game Philip Linden, 4/7/06: "I'm not a gamer, and SL isn't a game. From the start, we/LL observed that something like SL would have it's first uses in entertainment, and then grow beyond those uses and people became more confident in the capabilities of the new platform/OS/whatever-we-want-to-call-it. So we focused on making SL very exciting and visceral and inspirational, but not on making it a game. The future that we are all most passionate about is creating a new version of the world with a fundamentally different and better set of capabilities, and then see what happens when we all move there. This means we want SL to be able to reach everyone in the world, to be able to scale to 100's of millions of users and millions of servers, and to remain an open decentralized system in which creativity rules." Space & Avatar Andrew Linden, 3/24/05: "Way back when we started working on SL we talked about the fundamental design of what the space should look like. There were all sorts of freedom that could be explored in a virtual space -- no need for gravity, ground, sky, water or trees. However, we decided we wanted SL to be very much a place rather than an abstract collaborative CAD tool. Since the human's are most familiar with an environment that has a horizon, ground, sky, water, and trees we decided that SL would be fundamentally familiar if it had these things. Similarly we decided to center the avatar possibility space around a realistically human shape instead of a cartoony or otherwise stylized avatar." Growth Andrew Linden, 4/25/05: "The LL model of the SL population and how it would grow was always much simpler. From the start the theory was that SL would become an increasingly interesting place as its population grew. In the beginning would be the "early adopters" who were excited about virtual reality in general. Eventually some artists and programmers would find the feature set complete enough to express their creativity and these "content creators" would build stuff. As the content became more interesting some casual explorers would find the content compelling and would buy some of it -- "consumers". A population of consumers would provide a market for those content creators that wanted to make real money -- ta-da, a market is born that only gets more interesting as it grows. Every person on Earth has some threshold of features/content at which point they will find SL useful and/or interesting enough to login. As SL grows more and more people will fall into the subset whose threshold has been passed. The grand plan is to push the feature set of SL and allow the population to expand until nearly everyone's threshold has been passed. It was always the intention to start SL small and let it grow. SL 1.0 was not launched ready for 1 million residents, and it is still not ready for that many. SL is growing at a very healthy rate. In fact, LL's main challenge is to develop the platform fast enough that SL's architecture can handle the next season's population. At the moment don't see many reasons to speed up the growth rate -- if SL were to "tip" and suddenly become the next big thing such that hoards of people were joining up, then LL would be forced to throttle new accounts until SL's fundamental system was more ready." Development Some early experiments are said to have been: *Simple creation of cubes on a flat terrain *Sophisticated water simulation, where you dropped an object on water and waves spread across sims. This particular effect was dropped since communicating information about water ripples took too much bandwidth. Alpha Alpha started on March 2002, under the name Linden World. The first residents were Steller Sunshine and Paul Zeeman. Other notable Alpha members include Mac Beach, Flyk Escher, BuhBuhCuh Fairchild, and bUTTONpUSHER Jones. Interesting bits about Alpha: * Snakes and birds roamed the land, feeding on abandoned objects. * You could shoot trees, watch them catch fire, and it would spread to other trees. * You could "Edit" other people's avatars, and move them around. Steller apparently had lots of fun throwing Mac off of cliffs in the early days. :) * No economy, or currency, or permissions, or any concept of ownership. * Sims had no name. At first there were only 6 of them, but it grew to 9. * Attachments could not be scripted. * For land there was no concept of parcels owned by individuals, all land was globally shared, which made the world like one giant sandbox. * Alpha was on a different grid. Everything was wiped, save for user inventories and a few buildings that were manually copied over (data-dropped). Beta Closed beta began on November 2002, with public beta opening on April 2003. Start of public beta: http://games.slashdot.org/article.pl?sid=03/04/30/2342221 Beta brought the first economic system, which was an attempt to control resource usage by charging for object creation. It cost L$10 per prim to rez an object (this includes attaching objects), and while initially a flat fee of L$3 per prim was charged to keep an object in-world, later a much more complex system was devised, calculating taxes based on each prim's volume and also its altitude. An extra tax was imposed on light objects, starting at L$5 per prim. Sometime during closed beta this PDF "Second Life Starter Guide" was written on 3/19/03. This PDF gives users a nice guide through starting Second Life, including information on features and what to expect. 1.0 1.0 was more or less the same as late beta, except that it had a different login screen. It was pretty much just a version number change that was implemented on the same day that SL went live in 6/03. A PDF entitled simply Second Life Reference came out around the same time with a date of 06/20/03 (which is also the release date of Version 0.9.1). The PDF was possibly the most detailed documentation of Second Life with a stunning 102 pages. The reference covers practically every interface element that was in SL at the time and also includes many screenshots of the classic green interface as seen in the image below. For a time this reference, along with a few others, were on the SL website until they became obviously outdated. Official launch: http://games.slashdot.org/article.pl?sid=03/06/23/235244 Release Notes: Version 1.0.0 1.1 1.1 brought a slightly revised economy that aimed to stifle tax evasion. This caused a lot of drama, namely the death of Americana. There were major graphical changes, like a new terrain texture, animated hair/clothes, bumpmapping and shiny non-physical object motion became damped by default and they also introduced a new particle system and vehicle API. Release Notes: Version 1.1.0 1.2 Version 1.2 brought huge changes to the world, resulting in a complete social reorganization. Some say that after 1.2 it was "all about the money". 1.2 also gave a major directional change to SL, having a major impact on the way economy would develop. Outline of Changes in 1.2: * Taxes were done away with and replaced by new land model. * Land was taxed in a higher manner, residents were given the option to pay extremely high L$ rates per month, or in "lesser"-cost USD payments. * Prims were divided between land owners based on parcel size (eliminating "prim hogs"). * Improved interface and the ability to change its color via colors.ini. * Scripters given the ability to create dialogs via llDialog . Related Links *1.2 - More detailed account of 1.2 and the changes it brought. *Old 1.2 FAQ: "Getting To Know v1.2" *http://games.slashdot.org/article.pl?sid=03/12/27/2048246 Release Notes: Version 1.2 1.3 1.3 allowed scripts to communicate with the outside world, bringing incoming email and XML-RPC functions. Release Notes: Version 1.3 1.4 Life in SL took a dramatic turn for the best, as custom animations for avatar bodies were introduced, which opened a lot of doors to social interaction through creative expression. HTTP streaming also allowed everyone to play music on their land, leading to an explosion of clubs that annoyed most of the older residents. *Video: A more exciting, animated you *PDF: 1.4 Preview Guide - This PDF was released along with the preview for 1.4 and helped get residents acquainted with the new 1.4 features. Release Notes: Version 1.4 1.5 This was mainly a bugfix/overhaul version. A number of server-side changes were implemented to support changes in 1.6 and possibly 1.7. Ironically, 1.5 was one of the most bug-filled releases of SL, having been rushed to release with too little time for previewing and bug-testing. Release Notes: Version 1.5 1.6 When Linden Lab launched this version, it featured streaming video, chat bubbles, a redesigned interface for object construction, and a large number of new features and bugfixes. Release Notes: Version 1.6 1.7 1.7 was supposed to bring us Havok 2 and web browser based on Mozilla technology. However, it was confirmed that this will be held back for a future version. Instead, 1.7 brings new attachment points called "HUDs". When objects are attached on HUD points, only the owner of the object will be able to see the objects. Also various new functions and a new script scheduler (script lag will now only lag other scripts, but have no impact on the renderer). The statistics were also reviewed (all sims run now at 45 FPS, like the physics engine), active objects are properly counted, and a new statistic has been provided to measure script performance. After several hiccups and almost 10 days of problems, the new texture loading scheme was finally stabilized. Unloaded textures show up as grey with white edges, thus helping people to see prim volume (and avoid bumping into buildings) before textures load completely. The map is now rendered with the new 2.0 renderer. allowing residents to see the grid from a "birds eye view", with colors and textures of builds visible. Later, the LindeX — the Linden Currency Exchange, a way to buy/sell L$ with US$ — was introduced as a "replacement" of third-party sites (namely Gaming Open Market). Your account shows now how much L$ and US$ you have, and you can pay your mothly fees directly with US$ from LindeX transactions. Release Notes: Version 1.7 1.8 1.8 was the child of the new development model of LL. Instead of clumping lots of features and bug fixes on major releases, 1.8 only had two new features: one major (re-)implementation of point-to-point teleporting (as opposed to teleporting to the nearest telehub), and one minor, more realistic "water rippling effect", with proper sun/moon reflection, refraction of immersed objects and avatars, and nice-looking natural waves. Also a few minor yet much needed LSL functions for land control and mapping/travel. From this point on, Linden Lab will not announce new features and their timeline. According to the project managers at LL, "new features will be introduced when they are ready". Later on in 1.8's life a Linux Alpha version was released for testing. At first it was restricted to a small group of testers, but has since been released to the public. Google Video: Glimpse Inside a Metaverse: The Virtual World of Second Life, 3/1/06 Release Notes: Version 1.8 1.9 Released on March 14th 2006, Version 1.9 featured a huge back-end change in how SL handles some things like teleports, IMs, inventory transfers, and other similar events were changed from a central server communication to region interaction. Some other user-side features made it into this release as well such as new camera controls via script, more improved estate tools (for estate owners), script error functions (an in-world icon and a script error window), planar texturing, and a few others were implemented. 1.9.1 Version 1.9.1 existed only in preview and featured more XML-RPC functionality, hardware-accelerated lighting, flexible primitives, occlusion culling, mouse left-click functionality, and a few other features. Videos featuring flexible prims and hardware lighting: *Ben Linden's *Torley Linden's Karen Linden announced that 1.9.1 would probably go live on Wednesday, May 5, 2006, but this date was later changed. 1.9.1 was then redubbed 1.10 1.10 thumb| SL 1.10 was essentially the same as SL 1.9.1--just renamed. SL 1.10.0 was released to the main grid on May 24, 2006 On May 25, 2006, Robin Linden posted an announcement to the forums that stipends would be eliminated for all new basic accounts who register on or after May 29, 2006. On June 6, 2006 Linden Lab removed the requirement for an account to be verified by credit card or Cell Phone, making it as easy to sign up for an account as it is to sign up for a web forum or a web based e-mail account. This drew wide concern, especially from older members, citing concern over increases in griefing and legal issues of minors accessing the adult grid, and vice versa. Current version is 1.10.4 as of 21 Jun 2006 2.0 SL 2.0 is expected (by former hype of LL's own creation as well as built up user mind-set) to be a large and influential release. However, LL, deciding features expected to be in 2.0 are not ready to be released yet but also wanting to do a new point version, have instead moved forward to 1.10. Or, features speculated in 2.0 could be released in a version 1.10 as well. In the meantime, 2.0 is becoming analagous to Havok 2 or full XML-RPC as a "white whale" that may never come or may come in the far distant future--vaporware. Another factor to keep in mind is that over time Linden Lab has transitioned in how they do releases. Prior to 1.8, LL's goal was to do major point releases with months between them and have major features. However, since 1.8 they have changed focus to do feature-rich releases in shorter spans of time (weeks instead of months). 2.0 was a child of the old release schedule, but now with the new schedule it is likely that we will see potential 2.0 features be released when ready instead of in a large package labeled "2.0". An example of this is object occlusion and hardware lighting. In the old schedule these would be lumped with other features and put on hold for release with, say, "2.0", but under the new schedule they may be ready sooner and released earlier than other features they may have otherwise been lumped with. Thus, we may see features that were slated to be 2.0, but instead of all together they may be spread out in different versions when they are ready for release. While this may take away from some of the "shock and awe" of a "major" release it does help things progress faster, especially if a feature is needed as soon as it is done instead of "2.0" being a "fix all". It is rumored 2.0 would feature a dramatic improvement to the graphics engine, with greatly increased draw distances and more realistic lighting. Also rumored for 2.0 was a new scripting engine based on MONO (open-source .NET) and a multithreaded client--meaning that low framerates will not cause network latency and vice versa. Other features that have been "promised" or "in development" for a long time but are yet to be delivered and could be in 2.0 include: Havok 2, in-world HTML (or HTML on prims), better inter-object communication, better XML-RPC communication to the outside world, Mono, llTeleportAgent, and flexible prims. Related notes: *First images of "Renderer 2.0" were shown on April 1st, 2004 on the forums here. They seem to have "millions of prims", visible across many hundreds of meters. *Mono has been in development for some time, with Babbage Linden occasionally blogging about it. *HTML on prims is also in development, but has hit snags here and there. Since the library that will be used to accomplish HTML on prims in SL is using the Mozilla Gecko engine, Callum Linden the developer behind it has released an open-source standalone client called uBrowser. Callum is looking for help and input on the code in an attempt to squashing all the bugs so it can be released. It also gives a neat demonstration of the technology. *Version 1.9.1 currently in Preview (4/14/06) may bring four features that may have otherwise been in "2.0". These features are: XML-RPC being "finished", Flexible Prims, Object Occlusion, and Hardware Lighting. Beyond Philip Linden, 4/12/06: "We definitely intend to make SL on par with anything you can do with a gaming platform. Regarding scripting of objects, you will see a new type of fast HTTP support in [SL 1.9.1], which should be in preview within a few days. Also we are close to being able to greatly speed up the scripting engine by switching to Mono, which will allow things like more complex AI for objects. We have also done work to enable a shared memory space for multiple objects, which will be great - though there isn't a release target on that work yet. To make SL totally competitive with the different gaming platforms will also require better rendering, better avatar physics, and hierarchical modeling of linked objects - which are all things we are doing design or implementation work on right now. There is a nice improvement coming in 1.9.1 - occlusion culling - which will let you get very high frame rates within an enclosed space (like a small building). This should be better for gaming as well. Beyond gaming, we'd like to more generally see SL be able to do anything with the simulator CPU you imagine being able to do with conventional languages/servers."